#ifndef ODBC_CONFIG_HPP
#define ODBC_CONFIG_HPP

/// \file config.hpp
/// It configures the library based on the platform, compiler and target.

/// \defgroup OdbcLibrary

/// \def ODBC_LIBRARY_BUILD_DLL
/// This symbol is defined when the compilation has as target the building of the library as a DLL.

/// \def ODBC_LIBRARY_BUILD_LIB
/// This symbol is defined when the compilation has as target the building of the library as a static library.

/// \def ODBC_LIBRARY_USE_DLL
/// This symbol should be defined when the compilation has as target the building of a code using this library as a DLL.

/// \def ODBC_LIBRARY_USE_LIB
/// This symbol should be defined when the compilation has as target the building of a code using this library as a 
///	static library.

/// \def ODBC_DECL
/// Depending on the configuration, this symbol establishes how a function or 
///	a class is visible outside the deployment unit (static library or dinamic 
///	library).

#if defined( ODBC_LIBRARY_BUILD_DLL)
#	define ODBC_DECL __declspec( dllexport)
#elif defined( ODBC_LIBRARY_BUILD_LIB)
#	define ODBC_DECL
#elif defined( ODBC_LIBRARY_USE_DLL)
#	define ODBC_DECL __declspec( dllimport)
#elif defined( ODBC_LIBRARY_USE_LIB)
#	define ODBC_DECL
#else // default
//#	if defined( _DLL)
//#		define ODBC_DECL __declspec( dllimport)
//#	else
#		define ODBC_DECL
//#	endif
#endif

#endif // ODBC_CONFIG_HPP
